home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / eiffel / smalleif.97 / se.t / SmallEiffel / bin_c / pretty1.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-02  |  38.9 KB  |  1,378 lines

  1. /* ANSI C code generated by SmallEiffel. */
  2. /*
  3. -- SmallEiffel  -- Release (- 0.97)    --      FRANCE
  4. -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN 
  5. -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr 
  6. -- CRIN (Centre de Recherche en Informatique de Nancy)
  7. -- FRANCE 
  8. */
  9. #include "pretty.h"
  10. T0 *new(int id){
  11. int sz=s[id];
  12. T0 *n=malloc(sz);
  13. memset(n,0,sz);
  14. n->id=id;
  15. return n;
  16. }
  17. T0*oRBC27fmt;
  18. T0 * rT250first_name(T250 *C){
  19. T0 * R=NULL;
  20. R=rT126item((T126*)(C)->_names,1);
  21. return R;
  22. }
  23. void rT250error(/*C*/T0 * a1,T0* a2){
  24. /*UT*/(T43*)oRBC27eh;
  25. rT43add_position(a1);
  26. rT43error((T43*)oRBC27eh,a2);
  27. }
  28. T0*oRBC27eh;
  29. T0 * rT250start_position(T250 *C){
  30. T0 * R=NULL;
  31. R=XrT65start_position(rT250first_name(C));
  32. return R;
  33. }
  34. void rT250pretty_print_routine_body(T250 *C){
  35. /*IF*/if (((int)(C)->_local_vars)) {
  36. rT137pretty_print((T137*)(C)->_local_vars);
  37. }
  38. /*FI*/rT259indent((T259*)oRBC27fmt);
  39. /*(IRF3*/rT259keyword((T259*)oRBC27fmt,(T0 *)ms533);
  40. /*)*/rT259put_character((T259*)oRBC27fmt,'\40');
  41. /*IF*/if (((int)(C)->_routine_body)) {
  42. rT138pretty_print((T138*)(C)->_routine_body);
  43. }
  44. /*FI*/}
  45. void rT250pretty_print_arguments(T250 *C){
  46. /*IF*/if (((int)(C)->_arguments)) {
  47. rT90pretty_print((T90*)(C)->_arguments);
  48. }
  49. /*FI*/}
  50. void rT250pretty_print_one_name(/*C*/T0 * a1){
  51. /*IF*/if (XrT65is_frozen(a1)) {
  52. rT259keyword((T259*)oRBC27fmt,(T0 *)ms511);
  53. }
  54. /*FI*/XrT65pretty_print(a1);
  55. }
  56. void rT250pretty_print_names(T250 *C){
  57. int _i=0;
  58. _i=1;
  59. rT250pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
  60. _i=(_i)+(1);
  61. while (!((_i)>(rT126count((T126*)(C)->_names)))) {
  62. rT259put_string((T259*)oRBC27fmt,(T0 *)ms512);
  63. rT250pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
  64. _i=(_i)+(1);
  65. }
  66. }
  67. void rT250pretty_print_profile(T250 *C){
  68. rT250pretty_print_names(C);
  69. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  70. /*)*/rT250pretty_print_arguments(C);
  71. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(3);
  72. /*)*//*IF*/if (((int)(C)->_result_type)) {
  73. rT259put_string((T259*)oRBC27fmt,(T0 *)ms513);
  74. XrT56pretty_print((C)->_result_type);
  75. }
  76. /*FI*/}
  77. void rT250pretty_print(T250 *C){
  78. T0 * _fn=NULL;
  79. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
  80. /*)*/rT259indent((T259*)oRBC27fmt);
  81. rT250pretty_print_profile(C);
  82. rT259keyword((T259*)oRBC27fmt,(T0 *)ms517);
  83. /*IF*/if (((int)(C)->_obsolete_mark)) {
  84. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  85. /*)*/rT259indent((T259*)oRBC27fmt);
  86. rT259keyword((T259*)oRBC27fmt,(T0 *)ms518);
  87. rT74pretty_print((T74*)(C)->_obsolete_mark);
  88. }
  89. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  90. /*)*/rT259indent((T259*)oRBC27fmt);
  91. /*IF*/if (((int)(C)->_header_comment)) {
  92. rT57pretty_print((T57*)(C)->_header_comment);
  93. }
  94. /*FI*//*IF*/if (((int)(C)->_require_assertion)) {
  95. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  96. /*)*/rT135pretty_print((T135*)(C)->_require_assertion);
  97. }
  98. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  99. /*)*/rT259indent((T259*)oRBC27fmt);
  100. rT250pretty_print_routine_body(C);
  101. /*IF*/if (((int)(C)->_ensure_assertion)) {
  102. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  103. /*)*/rT155pretty_print((T155*)(C)->_ensure_assertion);
  104. }
  105. /*FI*//*IF*/if (((int)(C)->_rescue_compound)) {
  106. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  107. /*)*/rT259indent((T259*)oRBC27fmt);
  108. rT259keyword((T259*)oRBC27fmt,(T0 *)ms524);
  109. rT138pretty_print((T138*)(C)->_rescue_compound);
  110. }
  111. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  112. /*)*/rT259indent((T259*)oRBC27fmt);
  113. rT259keyword((T259*)oRBC27fmt,(T0 *)ms525);
  114. /*IF*/if ((((int)(C)->_end_comment))&&(!(rT57dummy((T57*)(C)->_end_comment)))) {
  115. rT57pretty_print((T57*)(C)->_end_comment);
  116. }
  117.  else if (((T259*)oRBC27fmt)->_print_end_routine) {
  118. rT259put_string((T259*)oRBC27fmt,(T0 *)ms527);
  119. _fn=rT250first_name(C);
  120. /*IF*/if (XrT65is_prefix_name(_fn)) {
  121. rT259keyword((T259*)oRBC27fmt,(T0 *)ms528);
  122. rT259put_character((T259*)oRBC27fmt,'\42');
  123. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  124. rT259put_character((T259*)oRBC27fmt,'\42');
  125. }
  126.  else if (XrT65is_infix_name(_fn)) {
  127. rT259keyword((T259*)oRBC27fmt,(T0 *)ms529);
  128. rT259put_character((T259*)oRBC27fmt,'\42');
  129. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  130. rT259put_character((T259*)oRBC27fmt,'\42');
  131. }
  132. else {
  133. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  134. }
  135. /*FI*/}
  136. /*FI*/rT259put_character((T259*)oRBC27fmt,'\12');
  137. }
  138. void rT250add_into(T250 *C,T0 * a1){
  139. T0 * _fn=NULL;
  140. int _i=0;
  141. C->_base_class=rT44base_class((T44*)XrT65start_position(rT126item((T126*)(C)->_names,1)));
  142. _i=1;
  143. while (!((_i)>(rT126count((T126*)(C)->_names)))) {
  144. _fn=rT126item((T126*)(C)->_names,_i);
  145. /*IF*/if (rT59has((T59*)a1,XrT65to_key(_fn))) {
  146. _fn=XrT60first_name(rT59at((T59*)a1,XrT65to_key(_fn)));
  147. /*UT*/(T43*)oRBC27eh;
  148. rT43add_position(XrT65start_position(_fn));
  149. /*UT*/(T43*)oRBC27eh;
  150. rT43add_position(XrT65start_position(rT126item((T126*)(C)->_names,_i)));
  151. rT43error((T43*)oRBC27eh,(T0 *)ms417);
  152. /*UT*/(T43*)oRBC27eh;
  153. rT43append(XrT65to_string(_fn));
  154. rT43error((T43*)oRBC27eh,(T0 *)ms37);
  155. }
  156. else {
  157. rT59put((T59*)a1,(T0 *)C,XrT65to_key(_fn));
  158. }
  159. /*FI*/_i=(_i)+(1);
  160. }
  161. }
  162. void rT250set_header_comment(T250 *C,T0 * a1){
  163. /*IF*/if ((((int)a1))&&((rT57count((T57*)a1))>(1))) {
  164. C->_end_comment=a1;
  165. }
  166. /*FI*/}
  167. void rT250copy(T250 *C,T0 * a1){
  168. /*IF*//*AF*//*AE*/
  169. memcpy(C,a1,s[C->id]);
  170. /*FI*/}
  171. void rT250set_rescue_compound(T250 *C,T0 * a1){
  172. /*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) {
  173. rT250error(rT250start_position(C),(T0 *)ms400);
  174. }
  175. /*FI*/C->_rescue_compound=a1;
  176. }
  177. void rT250make_e_feature(T250 *C,T0 * a1,T0 * a2){
  178. C->_names=a1;
  179. C->_result_type=a2;
  180. }
  181. void rT250make_routine(T250 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
  182. rT250make_e_feature(C,a1,NULL);
  183. C->_header_comment=a4;
  184. C->_arguments=a2;
  185. C->_obsolete_mark=a3;
  186. C->_require_assertion=a5;
  187. }
  188. void rT250make_effective_routine(T250 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6,T0 * a7){
  189. rT250make_routine(C,a1,a2,a3,a4,a5);
  190. C->_local_vars=a6;
  191. C->_routine_body=a7;
  192. C->_use_current_state=1008;
  193. }
  194. void rT250make(T250 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6,T0 * a7,T0 * a8){
  195. rT250make_effective_routine(C,a1,a2,a4,a5,a6,a7,a8);
  196. C->_result_type=a3;
  197. }
  198. void rT75bracketed_print(T75 *C){
  199. rT259put_character((T259*)oRBC27fmt,'\50');
  200. rT75pretty_print(C);
  201. rT259put_character((T259*)oRBC27fmt,'\51');
  202. }
  203. T0 * rT75add_comment(T75 *C,T0 * a1){
  204. T0 * R=NULL;
  205. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  206. R=(T0 *)C;
  207. }
  208. else {
  209. {T218 *n=((T218*)new(218));
  210. rT218make(n,(T0 *)C,a1);
  211. R=(T0 *)n;}}
  212. /*FI*/return R;
  213. }
  214. void rT75print_as_target(T75 *C){
  215. rT75bracketed_print(C);
  216. rT259put_character((T259*)oRBC27fmt,'\56');
  217. }
  218. void rT75pretty_print(T75 *C){
  219. rT259put_string((T259*)oRBC27fmt,(C)->_value);
  220. rT259put_character((T259*)oRBC27fmt,'B');
  221. }
  222. void rT75copy(T75 *C,T0 * a1){
  223. /*IF*//*AF*//*AE*/
  224. memcpy(C,a1,s[C->id]);
  225. /*FI*/}
  226. void rT77bracketed_print(T77 *C){
  227. rT259put_character((T259*)oRBC27fmt,'\50');
  228. rT77pretty_print(C);
  229. rT259put_character((T259*)oRBC27fmt,'\51');
  230. }
  231. void rT77error(/*C*/T0 * a1,T0* a2){
  232. /*UT*/(T43*)oRBC27eh;
  233. rT43add_position(a1);
  234. rT43error((T43*)oRBC27eh,a2);
  235. }
  236. T0 * rT77add_comment(T77 *C,T0 * a1){
  237. T0 * R=NULL;
  238. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  239. R=(T0 *)C;
  240. }
  241. else {
  242. {T218 *n=((T218*)new(218));
  243. rT218make(n,(T0 *)C,a1);
  244. R=(T0 *)n;}}
  245. /*FI*/return R;
  246. }
  247. T0 * rT77_px45(T77 *C){
  248. T0 * R=NULL;
  249. rT77error((C)->_start_position,(T0 *)ms172);
  250. return R;
  251. }
  252. void rT77print_as_target(T77 *C){
  253. rT77bracketed_print(C);
  254. rT259put_character((T259*)oRBC27fmt,'\56');
  255. }
  256. void rT77pretty_print(T77 *C){
  257. rT259put_string((T259*)oRBC27fmt,(C)->_to_string);
  258. }
  259. T0 * rT77to_integer_constant(T77 *C){
  260. T0 * R=NULL;
  261. rT77error((C)->_start_position,(T0 *)ms271);
  262. return R;
  263. }
  264. void rT77copy(T77 *C,T0 * a1){
  265. /*IF*//*AF*//*AE*/
  266. memcpy(C,a1,s[C->id]);
  267. /*FI*/}
  268. void rT77make(T77 *C,T0 * a1,T0* a2,int a3,float a4,int a5){
  269. C->_start_position=a1;
  270. C->_to_string=a2;
  271. C->_integral_part=a3;
  272. C->_fractional_part=a4;
  273. C->_exponent=a5;
  274. }
  275. void rT166bracketed_print(T166 *C){
  276. rT259put_character((T259*)oRBC27fmt,'\50');
  277. rT166pretty_print(C);
  278. rT259put_character((T259*)oRBC27fmt,'\51');
  279. }
  280. T0 * rT166add_comment(T166 *C,T0 * a1){
  281. T0 * R=NULL;
  282. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  283. R=(T0 *)C;
  284. }
  285. else {
  286. {T218 *n=((T218*)new(218));
  287. rT218make(n,(T0 *)C,a1);
  288. R=(T0 *)n;}}
  289. /*FI*/return R;
  290. }
  291. void rT166print_as_target(T166 *C){
  292. rT166bracketed_print(C);
  293. rT259put_character((T259*)oRBC27fmt,'\56');
  294. }
  295. T0 * rT166start_position(T166 *C){
  296. T0 * R=NULL;
  297. R=XrT66start_position((C)->_expression);
  298. return R;
  299. }
  300. void rT166pretty_print(T166 *C){
  301. rT259put_string((T259*)oRBC27fmt,(T0 *)ms502);
  302. rT259level_incr((T259*)oRBC27fmt);
  303. XrT66pretty_print((C)->_expression);
  304. rT259level_decr((T259*)oRBC27fmt);
  305. }
  306. void rT166copy(T166 *C,T0 * a1){
  307. /*IF*//*AF*//*AE*/
  308. memcpy(C,a1,s[C->id]);
  309. /*FI*/}
  310. T0 * rT253first_name(T253 *C){
  311. T0 * R=NULL;
  312. R=rT126item((T126*)(C)->_names,1);
  313. return R;
  314. }
  315. void rT253error(/*C*/T0 * a1,T0* a2){
  316. /*UT*/(T43*)oRBC27eh;
  317. rT43add_position(a1);
  318. rT43error((T43*)oRBC27eh,a2);
  319. }
  320. T0 * rT253start_position(T253 *C){
  321. T0 * R=NULL;
  322. R=XrT65start_position(rT253first_name(C));
  323. return R;
  324. }
  325. void rT253pretty_print_routine_body(T253 *C){
  326. /*IF*/if (((int)(C)->_local_vars)) {
  327. rT137pretty_print((T137*)(C)->_local_vars);
  328. }
  329. /*FI*/rT259indent((T259*)oRBC27fmt);
  330. /*(IRF3*/rT259put_string((T259*)oRBC27fmt,(T0 *)ms534);
  331. /*)*/rT259put_character((T259*)oRBC27fmt,'\40');
  332. /*IF*/if (((int)(C)->_routine_body)) {
  333. rT138pretty_print((T138*)(C)->_routine_body);
  334. }
  335. /*FI*/}
  336. void rT253pretty_print_arguments(T253 *C){
  337. /*IF*/if (((int)(C)->_arguments)) {
  338. rT90pretty_print((T90*)(C)->_arguments);
  339. }
  340. /*FI*/}
  341. void rT253pretty_print_one_name(/*C*/T0 * a1){
  342. /*IF*/if (XrT65is_frozen(a1)) {
  343. rT259keyword((T259*)oRBC27fmt,(T0 *)ms511);
  344. }
  345. /*FI*/XrT65pretty_print(a1);
  346. }
  347. void rT253pretty_print_names(T253 *C){
  348. int _i=0;
  349. _i=1;
  350. rT253pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
  351. _i=(_i)+(1);
  352. while (!((_i)>(rT126count((T126*)(C)->_names)))) {
  353. rT259put_string((T259*)oRBC27fmt,(T0 *)ms512);
  354. rT253pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
  355. _i=(_i)+(1);
  356. }
  357. }
  358. void rT253pretty_print_profile(T253 *C){
  359. rT253pretty_print_names(C);
  360. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  361. /*)*/rT253pretty_print_arguments(C);
  362. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(3);
  363. /*)*//*IF*/if (((int)(C)->_result_type)) {
  364. rT259put_string((T259*)oRBC27fmt,(T0 *)ms513);
  365. XrT56pretty_print((C)->_result_type);
  366. }
  367. /*FI*/}
  368. void rT253pretty_print(T253 *C){
  369. T0 * _fn=NULL;
  370. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
  371. /*)*/rT259indent((T259*)oRBC27fmt);
  372. rT253pretty_print_profile(C);
  373. rT259keyword((T259*)oRBC27fmt,(T0 *)ms517);
  374. /*IF*/if (((int)(C)->_obsolete_mark)) {
  375. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  376. /*)*/rT259indent((T259*)oRBC27fmt);
  377. rT259keyword((T259*)oRBC27fmt,(T0 *)ms518);
  378. rT74pretty_print((T74*)(C)->_obsolete_mark);
  379. }
  380. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  381. /*)*/rT259indent((T259*)oRBC27fmt);
  382. /*IF*/if (((int)(C)->_header_comment)) {
  383. rT57pretty_print((T57*)(C)->_header_comment);
  384. }
  385. /*FI*//*IF*/if (((int)(C)->_require_assertion)) {
  386. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  387. /*)*/rT135pretty_print((T135*)(C)->_require_assertion);
  388. }
  389. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  390. /*)*/rT259indent((T259*)oRBC27fmt);
  391. rT253pretty_print_routine_body(C);
  392. /*IF*/if (((int)(C)->_ensure_assertion)) {
  393. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  394. /*)*/rT155pretty_print((T155*)(C)->_ensure_assertion);
  395. }
  396. /*FI*//*IF*/if (((int)(C)->_rescue_compound)) {
  397. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  398. /*)*/rT259indent((T259*)oRBC27fmt);
  399. rT259keyword((T259*)oRBC27fmt,(T0 *)ms524);
  400. rT138pretty_print((T138*)(C)->_rescue_compound);
  401. }
  402. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  403. /*)*/rT259indent((T259*)oRBC27fmt);
  404. rT259keyword((T259*)oRBC27fmt,(T0 *)ms525);
  405. /*IF*/if ((((int)(C)->_end_comment))&&(!(rT57dummy((T57*)(C)->_end_comment)))) {
  406. rT57pretty_print((T57*)(C)->_end_comment);
  407. }
  408.  else if (((T259*)oRBC27fmt)->_print_end_routine) {
  409. rT259put_string((T259*)oRBC27fmt,(T0 *)ms527);
  410. _fn=rT253first_name(C);
  411. /*IF*/if (XrT65is_prefix_name(_fn)) {
  412. rT259keyword((T259*)oRBC27fmt,(T0 *)ms528);
  413. rT259put_character((T259*)oRBC27fmt,'\42');
  414. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  415. rT259put_character((T259*)oRBC27fmt,'\42');
  416. }
  417.  else if (XrT65is_infix_name(_fn)) {
  418. rT259keyword((T259*)oRBC27fmt,(T0 *)ms529);
  419. rT259put_character((T259*)oRBC27fmt,'\42');
  420. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  421. rT259put_character((T259*)oRBC27fmt,'\42');
  422. }
  423. else {
  424. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  425. }
  426. /*FI*/}
  427. /*FI*/rT259put_character((T259*)oRBC27fmt,'\12');
  428. }
  429. void rT253add_into(T253 *C,T0 * a1){
  430. T0 * _fn=NULL;
  431. int _i=0;
  432. C->_base_class=rT44base_class((T44*)XrT65start_position(rT126item((T126*)(C)->_names,1)));
  433. _i=1;
  434. while (!((_i)>(rT126count((T126*)(C)->_names)))) {
  435. _fn=rT126item((T126*)(C)->_names,_i);
  436. /*IF*/if (rT59has((T59*)a1,XrT65to_key(_fn))) {
  437. _fn=XrT60first_name(rT59at((T59*)a1,XrT65to_key(_fn)));
  438. /*UT*/(T43*)oRBC27eh;
  439. rT43add_position(XrT65start_position(_fn));
  440. /*UT*/(T43*)oRBC27eh;
  441. rT43add_position(XrT65start_position(rT126item((T126*)(C)->_names,_i)));
  442. rT43error((T43*)oRBC27eh,(T0 *)ms417);
  443. /*UT*/(T43*)oRBC27eh;
  444. rT43append(XrT65to_string(_fn));
  445. rT43error((T43*)oRBC27eh,(T0 *)ms37);
  446. }
  447. else {
  448. rT59put((T59*)a1,(T0 *)C,XrT65to_key(_fn));
  449. }
  450. /*FI*/_i=(_i)+(1);
  451. }
  452. }
  453. void rT253set_header_comment(T253 *C,T0 * a1){
  454. /*IF*/if ((((int)a1))&&((rT57count((T57*)a1))>(1))) {
  455. C->_end_comment=a1;
  456. }
  457. /*FI*/}
  458. void rT253copy(T253 *C,T0 * a1){
  459. /*IF*//*AF*//*AE*/
  460. memcpy(C,a1,s[C->id]);
  461. /*FI*/}
  462. void rT253set_rescue_compound(T253 *C,T0 * a1){
  463. /*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) {
  464. rT253error(rT253start_position(C),(T0 *)ms400);
  465. }
  466. /*FI*/C->_rescue_compound=a1;
  467. }
  468. void rT253make_e_feature(T253 *C,T0 * a1,T0 * a2){
  469. C->_names=a1;
  470. C->_result_type=a2;
  471. }
  472. void rT253make_routine(T253 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
  473. rT253make_e_feature(C,a1,NULL);
  474. C->_header_comment=a4;
  475. C->_arguments=a2;
  476. C->_obsolete_mark=a3;
  477. C->_require_assertion=a5;
  478. }
  479. void rT253make_effective_routine(T253 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6,T0 * a7){
  480. rT253make_routine(C,a1,a2,a3,a4,a5);
  481. C->_local_vars=a6;
  482. C->_routine_body=a7;
  483. C->_use_current_state=1008;
  484. }
  485. void rT253make(T253 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6,T0 * a7,T0 * a8){
  486. rT253make_effective_routine(C,a1,a2,a4,a5,a6,a7,a8);
  487. C->_result_type=a3;
  488. }
  489. T0 * rT252first_name(T252 *C){
  490. T0 * R=NULL;
  491. R=rT126item((T126*)(C)->_names,1);
  492. return R;
  493. }
  494. void rT252error(/*C*/T0 * a1,T0* a2){
  495. /*UT*/(T43*)oRBC27eh;
  496. rT43add_position(a1);
  497. rT43error((T43*)oRBC27eh,a2);
  498. }
  499. T0 * rT252start_position(T252 *C){
  500. T0 * R=NULL;
  501. R=XrT65start_position(rT252first_name(C));
  502. return R;
  503. }
  504. void rT252pretty_print_routine_body(T252 *C){
  505. /*IF*/if (((int)(C)->_local_vars)) {
  506. rT137pretty_print((T137*)(C)->_local_vars);
  507. }
  508. /*FI*/rT259indent((T259*)oRBC27fmt);
  509. /*(IRF3*/rT259put_string((T259*)oRBC27fmt,(T0 *)ms534);
  510. /*)*/rT259put_character((T259*)oRBC27fmt,'\40');
  511. /*IF*/if (((int)(C)->_routine_body)) {
  512. rT138pretty_print((T138*)(C)->_routine_body);
  513. }
  514. /*FI*/}
  515. void rT252pretty_print_arguments(T252 *C){
  516. /*IF*/if (((int)(C)->_arguments)) {
  517. rT90pretty_print((T90*)(C)->_arguments);
  518. }
  519. /*FI*/}
  520. void rT252pretty_print_one_name(/*C*/T0 * a1){
  521. /*IF*/if (XrT65is_frozen(a1)) {
  522. rT259keyword((T259*)oRBC27fmt,(T0 *)ms511);
  523. }
  524. /*FI*/XrT65pretty_print(a1);
  525. }
  526. void rT252pretty_print_names(T252 *C){
  527. int _i=0;
  528. _i=1;
  529. rT252pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
  530. _i=(_i)+(1);
  531. while (!((_i)>(rT126count((T126*)(C)->_names)))) {
  532. rT259put_string((T259*)oRBC27fmt,(T0 *)ms512);
  533. rT252pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
  534. _i=(_i)+(1);
  535. }
  536. }
  537. void rT252pretty_print_profile(T252 *C){
  538. rT252pretty_print_names(C);
  539. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  540. /*)*/rT252pretty_print_arguments(C);
  541. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(3);
  542. /*)*//*IF*/if (((int)(C)->_result_type)) {
  543. rT259put_string((T259*)oRBC27fmt,(T0 *)ms513);
  544. XrT56pretty_print((C)->_result_type);
  545. }
  546. /*FI*/}
  547. void rT252pretty_print(T252 *C){
  548. T0 * _fn=NULL;
  549. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
  550. /*)*/rT259indent((T259*)oRBC27fmt);
  551. rT252pretty_print_profile(C);
  552. rT259keyword((T259*)oRBC27fmt,(T0 *)ms517);
  553. /*IF*/if (((int)(C)->_obsolete_mark)) {
  554. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  555. /*)*/rT259indent((T259*)oRBC27fmt);
  556. rT259keyword((T259*)oRBC27fmt,(T0 *)ms518);
  557. rT74pretty_print((T74*)(C)->_obsolete_mark);
  558. }
  559. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  560. /*)*/rT259indent((T259*)oRBC27fmt);
  561. /*IF*/if (((int)(C)->_header_comment)) {
  562. rT57pretty_print((T57*)(C)->_header_comment);
  563. }
  564. /*FI*//*IF*/if (((int)(C)->_require_assertion)) {
  565. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  566. /*)*/rT135pretty_print((T135*)(C)->_require_assertion);
  567. }
  568. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  569. /*)*/rT259indent((T259*)oRBC27fmt);
  570. rT252pretty_print_routine_body(C);
  571. /*IF*/if (((int)(C)->_ensure_assertion)) {
  572. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  573. /*)*/rT155pretty_print((T155*)(C)->_ensure_assertion);
  574. }
  575. /*FI*//*IF*/if (((int)(C)->_rescue_compound)) {
  576. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  577. /*)*/rT259indent((T259*)oRBC27fmt);
  578. rT259keyword((T259*)oRBC27fmt,(T0 *)ms524);
  579. rT138pretty_print((T138*)(C)->_rescue_compound);
  580. }
  581. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  582. /*)*/rT259indent((T259*)oRBC27fmt);
  583. rT259keyword((T259*)oRBC27fmt,(T0 *)ms525);
  584. /*IF*/if ((((int)(C)->_end_comment))&&(!(rT57dummy((T57*)(C)->_end_comment)))) {
  585. rT57pretty_print((T57*)(C)->_end_comment);
  586. }
  587.  else if (((T259*)oRBC27fmt)->_print_end_routine) {
  588. rT259put_string((T259*)oRBC27fmt,(T0 *)ms527);
  589. _fn=rT252first_name(C);
  590. /*IF*/if (XrT65is_prefix_name(_fn)) {
  591. rT259keyword((T259*)oRBC27fmt,(T0 *)ms528);
  592. rT259put_character((T259*)oRBC27fmt,'\42');
  593. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  594. rT259put_character((T259*)oRBC27fmt,'\42');
  595. }
  596.  else if (XrT65is_infix_name(_fn)) {
  597. rT259keyword((T259*)oRBC27fmt,(T0 *)ms529);
  598. rT259put_character((T259*)oRBC27fmt,'\42');
  599. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  600. rT259put_character((T259*)oRBC27fmt,'\42');
  601. }
  602. else {
  603. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  604. }
  605. /*FI*/}
  606. /*FI*/rT259put_character((T259*)oRBC27fmt,'\12');
  607. }
  608. void rT252add_into(T252 *C,T0 * a1){
  609. T0 * _fn=NULL;
  610. int _i=0;
  611. C->_base_class=rT44base_class((T44*)XrT65start_position(rT126item((T126*)(C)->_names,1)));
  612. _i=1;
  613. while (!((_i)>(rT126count((T126*)(C)->_names)))) {
  614. _fn=rT126item((T126*)(C)->_names,_i);
  615. /*IF*/if (rT59has((T59*)a1,XrT65to_key(_fn))) {
  616. _fn=XrT60first_name(rT59at((T59*)a1,XrT65to_key(_fn)));
  617. /*UT*/(T43*)oRBC27eh;
  618. rT43add_position(XrT65start_position(_fn));
  619. /*UT*/(T43*)oRBC27eh;
  620. rT43add_position(XrT65start_position(rT126item((T126*)(C)->_names,_i)));
  621. rT43error((T43*)oRBC27eh,(T0 *)ms417);
  622. /*UT*/(T43*)oRBC27eh;
  623. rT43append(XrT65to_string(_fn));
  624. rT43error((T43*)oRBC27eh,(T0 *)ms37);
  625. }
  626. else {
  627. rT59put((T59*)a1,(T0 *)C,XrT65to_key(_fn));
  628. }
  629. /*FI*/_i=(_i)+(1);
  630. }
  631. }
  632. void rT252set_header_comment(T252 *C,T0 * a1){
  633. /*IF*/if ((((int)a1))&&((rT57count((T57*)a1))>(1))) {
  634. C->_end_comment=a1;
  635. }
  636. /*FI*/}
  637. void rT252copy(T252 *C,T0 * a1){
  638. /*IF*//*AF*//*AE*/
  639. memcpy(C,a1,s[C->id]);
  640. /*FI*/}
  641. void rT252set_rescue_compound(T252 *C,T0 * a1){
  642. /*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) {
  643. rT252error(rT252start_position(C),(T0 *)ms400);
  644. }
  645. /*FI*/C->_rescue_compound=a1;
  646. }
  647. void rT252make_e_feature(T252 *C,T0 * a1,T0 * a2){
  648. C->_names=a1;
  649. C->_result_type=a2;
  650. }
  651. void rT252make_routine(T252 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
  652. rT252make_e_feature(C,a1,NULL);
  653. C->_header_comment=a4;
  654. C->_arguments=a2;
  655. C->_obsolete_mark=a3;
  656. C->_require_assertion=a5;
  657. }
  658. void rT252make(T252 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6,T0 * a7){
  659. rT252make_routine(C,a1,a2,a3,a4,a5);
  660. C->_local_vars=a6;
  661. C->_routine_body=a7;
  662. C->_use_current_state=1008;
  663. }
  664. T0 * rT247add_comment(T247 *C,T0 * a1){
  665. T0 * R=NULL;
  666. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  667. R=(T0 *)C;
  668. }
  669. /*AF*/else {
  670. {T214 *n=((T214*)new(214));
  671. rT214make(n,(T0 *)C,a1);
  672. R=(T0 *)n;}}
  673. /*FI*/return R;
  674. }
  675. void rT247pretty_print_assignment(/*C*/T0 * a1,T0* a2,T0 * a3){
  676. int _semi_colon_flag=0;
  677. XrT66pretty_print(a1);
  678. rT259put_character((T259*)oRBC27fmt,'\40');
  679. rT259put_string((T259*)oRBC27fmt,a2);
  680. rT259put_character((T259*)oRBC27fmt,'\40');
  681. _semi_colon_flag=((T259*)oRBC27fmt)->_semi_colon_flag;
  682. rT259level_incr((T259*)oRBC27fmt);
  683. /*(IRF3*/(((T259*)oRBC27fmt)->_semi_colon_flag)=(0);
  684. /*)*/XrT66pretty_print(a3);
  685. /*(IRF3*/(((T259*)oRBC27fmt)->_semi_colon_flag)=(_semi_colon_flag);
  686. /*)*//*IF*/if (_semi_colon_flag) {
  687. rT259put_character((T259*)oRBC27fmt,'\73');
  688. }
  689. /*FI*/rT259level_decr((T259*)oRBC27fmt);
  690. }
  691. void rT247pretty_print(T247 *C){
  692. rT247pretty_print_assignment((C)->_left_side,(T0 *)ms563,(C)->_right_side);
  693. }
  694. void rT247copy(T247 *C,T0 * a1){
  695. /*IF*//*AF*//*AE*/
  696. memcpy(C,a1,s[C->id]);
  697. /*FI*/}
  698. void rT247make(T247 *C,T0 * a1,T0 * a2){
  699. C->_left_side=a1;
  700. C->_right_side=a2;
  701. }
  702. void rT218bracketed_print(T218 *C){
  703. rT259put_character((T259*)oRBC27fmt,'\50');
  704. rT218pretty_print(C);
  705. rT259put_character((T259*)oRBC27fmt,'\51');
  706. }
  707. T0 * rT218add_comment(T218 *C,T0 * a1){
  708. T0 * R=NULL;
  709. /*IF*/if ((!(a1))||((rT57count((T57*)a1))==(0))) {
  710. R=(T0 *)C;
  711. }
  712. else {
  713. {T218 *n=((T218*)new(218));
  714. rT218make(n,(T0 *)C,a1);
  715. R=(T0 *)n;}}
  716. /*FI*/return R;
  717. }
  718. void rT218print_as_target(T218 *C){
  719. XrT66print_as_target((C)->_expression);
  720. }
  721. T0 * rT218start_position(T218 *C){
  722. T0 * R=NULL;
  723. R=XrT66start_position((C)->_expression);
  724. return R;
  725. }
  726. int rT218precedence(T218 *C){
  727. int R=0;
  728. R=XrT66precedence((C)->_expression);
  729. return R;
  730. }
  731. void rT218pretty_print(T218 *C){
  732. XrT66pretty_print((C)->_expression);
  733. rT57pretty_print((T57*)(C)->_comment);
  734. }
  735. void rT218copy(T218 *C,T0 * a1){
  736. /*IF*//*AF*//*AE*/
  737. memcpy(C,a1,s[C->id]);
  738. /*FI*/}
  739. void rT218make(T218 *C,T0 * a1,T0 * a2){
  740. C->_expression=a1;
  741. C->_comment=a2;
  742. }
  743. T0 * rT254first_name(T254 *C){
  744. T0 * R=NULL;
  745. R=rT126item((T126*)(C)->_names,1);
  746. return R;
  747. }
  748. void rT254pretty_print_one_name(/*C*/T0 * a1){
  749. /*IF*/if (XrT65is_frozen(a1)) {
  750. rT259keyword((T259*)oRBC27fmt,(T0 *)ms511);
  751. }
  752. /*FI*/XrT65pretty_print(a1);
  753. }
  754. void rT254pretty_print_names(T254 *C){
  755. int _i=0;
  756. _i=1;
  757. rT254pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
  758. _i=(_i)+(1);
  759. while (!((_i)>(rT126count((T126*)(C)->_names)))) {
  760. rT259put_string((T259*)oRBC27fmt,(T0 *)ms512);
  761. rT254pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
  762. _i=(_i)+(1);
  763. }
  764. }
  765. void rT254pretty_print_profile(T254 *C){
  766. rT254pretty_print_names(C);
  767. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  768. /*)*//*(IRF3*//*)*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(3);
  769. /*)*//*IF*/if (((int)(C)->_result_type)) {
  770. rT259put_string((T259*)oRBC27fmt,(T0 *)ms513);
  771. XrT56pretty_print((C)->_result_type);
  772. }
  773. /*FI*/}
  774. void rT254pretty_print(T254 *C){
  775. rT254pretty_print_profile(C);
  776. /*(IRF3*//*)*/rT259put_character((T259*)oRBC27fmt,'\73');
  777. /*IF*/if (((int)(C)->_header_comment)) {
  778. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  779. /*)*/rT259indent((T259*)oRBC27fmt);
  780. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
  781. /*)*/rT57pretty_print((T57*)(C)->_header_comment);
  782. }
  783. /*FI*/}
  784. void rT254add_into(T254 *C,T0 * a1){
  785. T0 * _fn=NULL;
  786. int _i=0;
  787. C->_base_class=rT44base_class((T44*)XrT65start_position(rT126item((T126*)(C)->_names,1)));
  788. _i=1;
  789. while (!((_i)>(rT126count((T126*)(C)->_names)))) {
  790. _fn=rT126item((T126*)(C)->_names,_i);
  791. /*IF*/if (rT59has((T59*)a1,XrT65to_key(_fn))) {
  792. _fn=XrT60first_name(rT59at((T59*)a1,XrT65to_key(_fn)));
  793. /*UT*/(T43*)oRBC27eh;
  794. rT43add_position(XrT65start_position(_fn));
  795. /*UT*/(T43*)oRBC27eh;
  796. rT43add_position(XrT65start_position(rT126item((T126*)(C)->_names,_i)));
  797. rT43error((T43*)oRBC27eh,(T0 *)ms417);
  798. /*UT*/(T43*)oRBC27eh;
  799. rT43append(XrT65to_string(_fn));
  800. rT43error((T43*)oRBC27eh,(T0 *)ms37);
  801. }
  802. else {
  803. rT59put((T59*)a1,(T0 *)C,XrT65to_key(_fn));
  804. }
  805. /*FI*/_i=(_i)+(1);
  806. }
  807. }
  808. void rT254copy(T254 *C,T0 * a1){
  809. /*IF*//*AF*//*AE*/
  810. memcpy(C,a1,s[C->id]);
  811. /*FI*/}
  812. void rT254make(T254 *C,T0 * a1,T0 * a2){
  813. C->_names=a1;
  814. C->_result_type=a2;
  815. }
  816. void rT224pretty_print(T224 *C){
  817. int _i=0;
  818. rT259keyword((T259*)oRBC27fmt,(T0 *)ms549);
  819. rT259level_incr((T259*)oRBC27fmt);
  820. /*IF*/if (((int)(C)->_header_comment)) {
  821. rT57pretty_print((T57*)(C)->_header_comment);
  822. }
  823. /*FI*//*IF*/if (((int)(C)->_list)) {
  824. _i=XrT228lower((C)->_list);
  825. while (!((_i)>(XrT228upper((C)->_list)))) {
  826. XrT226pretty_print(XrT228item((C)->_list,_i));
  827. _i=(_i)+(1);
  828. /*IF*/if ((_i)<=(XrT228upper((C)->_list))) {
  829. rT259put_character((T259*)oRBC27fmt,'\54');
  830. }
  831. /*FI*/}
  832. }
  833. /*FI*/rT259level_decr((T259*)oRBC27fmt);
  834. rT259keyword((T259*)oRBC27fmt,(T0 *)ms550);
  835. rT259level_incr((T259*)oRBC27fmt);
  836. /*IF*/if (((int)(C)->_compound)) {
  837. rT138pretty_print((T138*)(C)->_compound);
  838. }
  839. /*FI*/rT259level_decr((T259*)oRBC27fmt);
  840. }
  841. void rT224copy(T224 *C,T0 * a1){
  842. /*IF*//*AF*//*AE*/
  843. memcpy(C,a1,s[C->id]);
  844. /*FI*/}
  845. void rT224add_slice(T224 *C,T0 * a1,T0 * a2){
  846. T0 * _element=NULL;
  847. {T231 *n=((T231*)new(231));
  848. rT231make(n,a1,a2);
  849. _element=(T0 *)n;}
  850. /*IF*/if (!((C)->_list)) {
  851. C->_list=ma(232,0,1,_element);
  852. }
  853. else {
  854. XrT228add_last((C)->_list,_element);
  855. }
  856. /*FI*/}
  857. void rT224add_value(T224 *C,T0 * a1){
  858. T0 * _element=NULL;
  859. {T225 *n=((T225*)new(225));
  860. /*(IRF3*/((n)->_expression)=(a1);
  861. /*)*/_element=(T0 *)n;}
  862. /*IF*/if (!((C)->_list)) {
  863. C->_list=ma(227,0,1,_element);
  864. }
  865. else {
  866. XrT228add_last((C)->_list,_element);
  867. }
  868. /*FI*/}
  869. void rT224make(T224 *C,T0 * a1,T0 * a2){
  870. C->_start_position=a1;
  871. C->_header_comment=a2;
  872. }
  873. T0 * rT210first_name(T210 *C){
  874. T0 * R=NULL;
  875. R=rT126item((T126*)(C)->_names,1);
  876. return R;
  877. }
  878. void rT210error(/*C*/T0 * a1,T0* a2){
  879. /*UT*/(T43*)oRBC27eh;
  880. rT43add_position(a1);
  881. rT43error((T43*)oRBC27eh,a2);
  882. }
  883. T0 * rT210start_position(T210 *C){
  884. T0 * R=NULL;
  885. R=XrT65start_position(rT210first_name(C));
  886. return R;
  887. }
  888. void rT210pretty_print_routine_body(T210 *C){
  889. rT259keyword((T259*)oRBC27fmt,(T0 *)ms530);
  890. XrT204pretty_print((C)->_langage);
  891. /*IF*/if ((!(rT7is_equal((T7*)(C)->_external_name,XrT65to_string(rT210first_name(C)))))||((rT126count((T126*)(C)->_names))>(1))) {
  892. rT259indent((T259*)oRBC27fmt);
  893. rT259keyword((T259*)oRBC27fmt,(T0 *)ms531);
  894. rT259put_character((T259*)oRBC27fmt,'\42');
  895. rT259put_string((T259*)oRBC27fmt,(C)->_external_name);
  896. rT259put_character((T259*)oRBC27fmt,'\42');
  897. }
  898. /*FI*/}
  899. void rT210pretty_print_arguments(T210 *C){
  900. /*IF*/if (((int)(C)->_arguments)) {
  901. rT90pretty_print((T90*)(C)->_arguments);
  902. }
  903. /*FI*/}
  904. void rT210pretty_print_one_name(/*C*/T0 * a1){
  905. /*IF*/if (XrT65is_frozen(a1)) {
  906. rT259keyword((T259*)oRBC27fmt,(T0 *)ms511);
  907. }
  908. /*FI*/XrT65pretty_print(a1);
  909. }
  910. void rT210pretty_print_names(T210 *C){
  911. int _i=0;
  912. _i=1;
  913. rT210pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
  914. _i=(_i)+(1);
  915. while (!((_i)>(rT126count((T126*)(C)->_names)))) {
  916. rT259put_string((T259*)oRBC27fmt,(T0 *)ms512);
  917. rT210pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
  918. _i=(_i)+(1);
  919. }
  920. }
  921. void rT210pretty_print_profile(T210 *C){
  922. rT210pretty_print_names(C);
  923. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  924. /*)*/rT210pretty_print_arguments(C);
  925. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(3);
  926. /*)*//*IF*/if (((int)(C)->_result_type)) {
  927. rT259put_string((T259*)oRBC27fmt,(T0 *)ms513);
  928. XrT56pretty_print((C)->_result_type);
  929. }
  930. /*FI*/}
  931. void rT210pretty_print(T210 *C){
  932. T0 * _fn=NULL;
  933. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
  934. /*)*/rT259indent((T259*)oRBC27fmt);
  935. rT210pretty_print_profile(C);
  936. rT259keyword((T259*)oRBC27fmt,(T0 *)ms517);
  937. /*IF*/if (((int)(C)->_obsolete_mark)) {
  938. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  939. /*)*/rT259indent((T259*)oRBC27fmt);
  940. rT259keyword((T259*)oRBC27fmt,(T0 *)ms518);
  941. rT74pretty_print((T74*)(C)->_obsolete_mark);
  942. }
  943. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  944. /*)*/rT259indent((T259*)oRBC27fmt);
  945. /*IF*/if (((int)(C)->_header_comment)) {
  946. rT57pretty_print((T57*)(C)->_header_comment);
  947. }
  948. /*FI*//*IF*/if (((int)(C)->_require_assertion)) {
  949. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  950. /*)*/rT135pretty_print((T135*)(C)->_require_assertion);
  951. }
  952. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  953. /*)*/rT259indent((T259*)oRBC27fmt);
  954. rT210pretty_print_routine_body(C);
  955. /*IF*/if (((int)(C)->_ensure_assertion)) {
  956. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  957. /*)*/rT155pretty_print((T155*)(C)->_ensure_assertion);
  958. }
  959. /*FI*//*IF*/if (((int)(C)->_rescue_compound)) {
  960. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  961. /*)*/rT259indent((T259*)oRBC27fmt);
  962. rT259keyword((T259*)oRBC27fmt,(T0 *)ms524);
  963. rT138pretty_print((T138*)(C)->_rescue_compound);
  964. }
  965. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  966. /*)*/rT259indent((T259*)oRBC27fmt);
  967. rT259keyword((T259*)oRBC27fmt,(T0 *)ms525);
  968. /*IF*/if ((((int)(C)->_end_comment))&&(!(rT57dummy((T57*)(C)->_end_comment)))) {
  969. rT57pretty_print((T57*)(C)->_end_comment);
  970. }
  971.  else if (((T259*)oRBC27fmt)->_print_end_routine) {
  972. rT259put_string((T259*)oRBC27fmt,(T0 *)ms527);
  973. _fn=rT210first_name(C);
  974. /*IF*/if (XrT65is_prefix_name(_fn)) {
  975. rT259keyword((T259*)oRBC27fmt,(T0 *)ms528);
  976. rT259put_character((T259*)oRBC27fmt,'\42');
  977. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  978. rT259put_character((T259*)oRBC27fmt,'\42');
  979. }
  980.  else if (XrT65is_infix_name(_fn)) {
  981. rT259keyword((T259*)oRBC27fmt,(T0 *)ms529);
  982. rT259put_character((T259*)oRBC27fmt,'\42');
  983. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  984. rT259put_character((T259*)oRBC27fmt,'\42');
  985. }
  986. else {
  987. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  988. }
  989. /*FI*/}
  990. /*FI*/rT259put_character((T259*)oRBC27fmt,'\12');
  991. }
  992. void rT210add_into(T210 *C,T0 * a1){
  993. T0 * _fn=NULL;
  994. int _i=0;
  995. C->_base_class=rT44base_class((T44*)XrT65start_position(rT126item((T126*)(C)->_names,1)));
  996. _i=1;
  997. while (!((_i)>(rT126count((T126*)(C)->_names)))) {
  998. _fn=rT126item((T126*)(C)->_names,_i);
  999. /*IF*/if (rT59has((T59*)a1,XrT65to_key(_fn))) {
  1000. _fn=XrT60first_name(rT59at((T59*)a1,XrT65to_key(_fn)));
  1001. /*UT*/(T43*)oRBC27eh;
  1002. rT43add_position(XrT65start_position(_fn));
  1003. /*UT*/(T43*)oRBC27eh;
  1004. rT43add_position(XrT65start_position(rT126item((T126*)(C)->_names,_i)));
  1005. rT43error((T43*)oRBC27eh,(T0 *)ms417);
  1006. /*UT*/(T43*)oRBC27eh;
  1007. rT43append(XrT65to_string(_fn));
  1008. rT43error((T43*)oRBC27eh,(T0 *)ms37);
  1009. }
  1010. else {
  1011. rT59put((T59*)a1,(T0 *)C,XrT65to_key(_fn));
  1012. }
  1013. /*FI*/_i=(_i)+(1);
  1014. }
  1015. }
  1016. void rT210set_header_comment(T210 *C,T0 * a1){
  1017. /*IF*/if ((((int)a1))&&((rT57count((T57*)a1))>(1))) {
  1018. C->_end_comment=a1;
  1019. }
  1020. /*FI*/}
  1021. void rT210copy(T210 *C,T0 * a1){
  1022. /*IF*//*AF*//*AE*/
  1023. memcpy(C,a1,s[C->id]);
  1024. /*FI*/}
  1025. void rT210set_rescue_compound(T210 *C,T0 * a1){
  1026. /*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) {
  1027. rT210error(rT210start_position(C),(T0 *)ms400);
  1028. }
  1029. /*FI*/C->_rescue_compound=a1;
  1030. }
  1031. void rT210make_external_routine(T210 *C,T0 * a1,T0* a2){
  1032. C->_langage=a1;
  1033. /*IF*/if (!(a2)) {
  1034. C->_external_name=XrT65to_string(rT210first_name(C));
  1035. }
  1036. else {
  1037. C->_external_name=a2;
  1038. }
  1039. /*FI*/}
  1040. void rT210make_e_feature(T210 *C,T0 * a1,T0 * a2){
  1041. C->_names=a1;
  1042. C->_result_type=a2;
  1043. }
  1044. void rT210make_routine(T210 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
  1045. rT210make_e_feature(C,a1,NULL);
  1046. C->_header_comment=a4;
  1047. C->_arguments=a2;
  1048. C->_obsolete_mark=a3;
  1049. C->_require_assertion=a5;
  1050. }
  1051. void rT210make(T210 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6,T0 * a7,T0* a8){
  1052. rT210make_routine(C,a1,a2,a4,a5,a6);
  1053. C->_result_type=a3;
  1054. rT210make_external_routine(C,a7,a8);
  1055. }
  1056. T0 * rT209first_name(T209 *C){
  1057. T0 * R=NULL;
  1058. R=rT126item((T126*)(C)->_names,1);
  1059. return R;
  1060. }
  1061. void rT209error(/*C*/T0 * a1,T0* a2){
  1062. /*UT*/(T43*)oRBC27eh;
  1063. rT43add_position(a1);
  1064. rT43error((T43*)oRBC27eh,a2);
  1065. }
  1066. T0 * rT209start_position(T209 *C){
  1067. T0 * R=NULL;
  1068. R=XrT65start_position(rT209first_name(C));
  1069. return R;
  1070. }
  1071. void rT209pretty_print_routine_body(T209 *C){
  1072. rT259keyword((T259*)oRBC27fmt,(T0 *)ms530);
  1073. XrT204pretty_print((C)->_langage);
  1074. /*IF*/if ((!(rT7is_equal((T7*)(C)->_external_name,XrT65to_string(rT209first_name(C)))))||((rT126count((T126*)(C)->_names))>(1))) {
  1075. rT259indent((T259*)oRBC27fmt);
  1076. rT259keyword((T259*)oRBC27fmt,(T0 *)ms531);
  1077. rT259put_character((T259*)oRBC27fmt,'\42');
  1078. rT259put_string((T259*)oRBC27fmt,(C)->_external_name);
  1079. rT259put_character((T259*)oRBC27fmt,'\42');
  1080. }
  1081. /*FI*/}
  1082. void rT209pretty_print_arguments(T209 *C){
  1083. /*IF*/if (((int)(C)->_arguments)) {
  1084. rT90pretty_print((T90*)(C)->_arguments);
  1085. }
  1086. /*FI*/}
  1087. void rT209pretty_print_one_name(/*C*/T0 * a1){
  1088. /*IF*/if (XrT65is_frozen(a1)) {
  1089. rT259keyword((T259*)oRBC27fmt,(T0 *)ms511);
  1090. }
  1091. /*FI*/XrT65pretty_print(a1);
  1092. }
  1093. void rT209pretty_print_names(T209 *C){
  1094. int _i=0;
  1095. _i=1;
  1096. rT209pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
  1097. _i=(_i)+(1);
  1098. while (!((_i)>(rT126count((T126*)(C)->_names)))) {
  1099. rT259put_string((T259*)oRBC27fmt,(T0 *)ms512);
  1100. rT209pretty_print_one_name(rT126item((T126*)(C)->_names,_i));
  1101. _i=(_i)+(1);
  1102. }
  1103. }
  1104. void rT209pretty_print_profile(T209 *C){
  1105. rT209pretty_print_names(C);
  1106. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1107. /*)*/rT209pretty_print_arguments(C);
  1108. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(3);
  1109. /*)*//*IF*/if (((int)(C)->_result_type)) {
  1110. rT259put_string((T259*)oRBC27fmt,(T0 *)ms513);
  1111. XrT56pretty_print((C)->_result_type);
  1112. }
  1113. /*FI*/}
  1114. void rT209pretty_print(T209 *C){
  1115. T0 * _fn=NULL;
  1116. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(1);
  1117. /*)*/rT259indent((T259*)oRBC27fmt);
  1118. rT209pretty_print_profile(C);
  1119. rT259keyword((T259*)oRBC27fmt,(T0 *)ms517);
  1120. /*IF*/if (((int)(C)->_obsolete_mark)) {
  1121. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1122. /*)*/rT259indent((T259*)oRBC27fmt);
  1123. rT259keyword((T259*)oRBC27fmt,(T0 *)ms518);
  1124. rT74pretty_print((T74*)(C)->_obsolete_mark);
  1125. }
  1126. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1127. /*)*/rT259indent((T259*)oRBC27fmt);
  1128. /*IF*/if (((int)(C)->_header_comment)) {
  1129. rT57pretty_print((T57*)(C)->_header_comment);
  1130. }
  1131. /*FI*//*IF*/if (((int)(C)->_require_assertion)) {
  1132. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1133. /*)*/rT135pretty_print((T135*)(C)->_require_assertion);
  1134. }
  1135. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1136. /*)*/rT259indent((T259*)oRBC27fmt);
  1137. rT209pretty_print_routine_body(C);
  1138. /*IF*/if (((int)(C)->_ensure_assertion)) {
  1139. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1140. /*)*/rT155pretty_print((T155*)(C)->_ensure_assertion);
  1141. }
  1142. /*FI*//*IF*/if (((int)(C)->_rescue_compound)) {
  1143. /*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1144. /*)*/rT259indent((T259*)oRBC27fmt);
  1145. rT259keyword((T259*)oRBC27fmt,(T0 *)ms524);
  1146. rT138pretty_print((T138*)(C)->_rescue_compound);
  1147. }
  1148. /*FI*//*(IRF3*/(((T259*)oRBC27fmt)->_indent_level)=(2);
  1149. /*)*/rT259indent((T259*)oRBC27fmt);
  1150. rT259keyword((T259*)oRBC27fmt,(T0 *)ms525);
  1151. /*IF*/if ((((int)(C)->_end_comment))&&(!(rT57dummy((T57*)(C)->_end_comment)))) {
  1152. rT57pretty_print((T57*)(C)->_end_comment);
  1153. }
  1154.  else if (((T259*)oRBC27fmt)->_print_end_routine) {
  1155. rT259put_string((T259*)oRBC27fmt,(T0 *)ms527);
  1156. _fn=rT209first_name(C);
  1157. /*IF*/if (XrT65is_prefix_name(_fn)) {
  1158. rT259keyword((T259*)oRBC27fmt,(T0 *)ms528);
  1159. rT259put_character((T259*)oRBC27fmt,'\42');
  1160. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  1161. rT259put_character((T259*)oRBC27fmt,'\42');
  1162. }
  1163.  else if (XrT65is_infix_name(_fn)) {
  1164. rT259keyword((T259*)oRBC27fmt,(T0 *)ms529);
  1165. rT259put_character((T259*)oRBC27fmt,'\42');
  1166. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  1167. rT259put_character((T259*)oRBC27fmt,'\42');
  1168. }
  1169. else {
  1170. rT259put_string((T259*)oRBC27fmt,XrT65to_string(_fn));
  1171. }
  1172. /*FI*/}
  1173. /*FI*/rT259put_character((T259*)oRBC27fmt,'\12');
  1174. }
  1175. void rT209add_into(T209 *C,T0 * a1){
  1176. T0 * _fn=NULL;
  1177. int _i=0;
  1178. C->_base_class=rT44base_class((T44*)XrT65start_position(rT126item((T126*)(C)->_names,1)));
  1179. _i=1;
  1180. while (!((_i)>(rT126count((T126*)(C)->_names)))) {
  1181. _fn=rT126item((T126*)(C)->_names,_i);
  1182. /*IF*/if (rT59has((T59*)a1,XrT65to_key(_fn))) {
  1183. _fn=XrT60first_name(rT59at((T59*)a1,XrT65to_key(_fn)));
  1184. /*UT*/(T43*)oRBC27eh;
  1185. rT43add_position(XrT65start_position(_fn));
  1186. /*UT*/(T43*)oRBC27eh;
  1187. rT43add_position(XrT65start_position(rT126item((T126*)(C)->_names,_i)));
  1188. rT43error((T43*)oRBC27eh,(T0 *)ms417);
  1189. /*UT*/(T43*)oRBC27eh;
  1190. rT43append(XrT65to_string(_fn));
  1191. rT43error((T43*)oRBC27eh,(T0 *)ms37);
  1192. }
  1193. else {
  1194. rT59put((T59*)a1,(T0 *)C,XrT65to_key(_fn));
  1195. }
  1196. /*FI*/_i=(_i)+(1);
  1197. }
  1198. }
  1199. void rT209set_header_comment(T209 *C,T0 * a1){
  1200. /*IF*/if ((((int)a1))&&((rT57count((T57*)a1))>(1))) {
  1201. C->_end_comment=a1;
  1202. }
  1203. /*FI*/}
  1204. void rT209copy(T209 *C,T0 * a1){
  1205. /*IF*//*AF*//*AE*/
  1206. memcpy(C,a1,s[C->id]);
  1207. /*FI*/}
  1208. void rT209set_rescue_compound(T209 *C,T0 * a1){
  1209. /*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) {
  1210. rT209error(rT209start_position(C),(T0 *)ms400);
  1211. }
  1212. /*FI*/C->_rescue_compound=a1;
  1213. }
  1214. void rT209make_external_routine(T209 *C,T0 * a1,T0* a2){
  1215. C->_langage=a1;
  1216. /*IF*/if (!(a2)) {
  1217. C->_external_name=XrT65to_string(rT209first_name(C));
  1218. }
  1219. else {
  1220. C->_external_name=a2;
  1221. }
  1222. /*FI*/}
  1223. void rT209make_e_feature(T209 *C,T0 * a1,T0 * a2){
  1224. C->_names=a1;
  1225. C->_result_type=a2;
  1226. }
  1227. void rT209make_routine(T209 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
  1228. rT209make_e_feature(C,a1,NULL);
  1229. C->_header_comment=a4;
  1230. C->_arguments=a2;
  1231. C->_obsolete_mark=a3;
  1232. C->_require_assertion=a5;
  1233. }
  1234. void rT209make(T209 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6,T0* a7){
  1235. rT209make_routine(C,a1,a2,a3,a4,a5);
  1236. rT209make_external_routine(C,a6,a7);
  1237. }
  1238. T0*oRBC207langage_name;
  1239. void rT207copy(T207 *C,T0 * a1){
  1240. /*IF*//*AF*//*AE*/
  1241. memcpy(C,a1,s[C->id]);
  1242. /*FI*/}
  1243. T0*oRBC206langage_name;
  1244. void rT206copy(T206 *C,T0 * a1){
  1245. /*IF*//*AF*//*AE*/
  1246. memcpy(C,a1,s[C->id]);
  1247. /*FI*/}
  1248. T0*oRBC205langage_name;
  1249. void rT205copy(T205 *C,T0 * a1){
  1250. /*IF*//*AF*//*AE*/
  1251. memcpy(C,a1,s[C->id]);
  1252. /*FI*/}
  1253. T0* rT157to_key(T157 *C){
  1254. T0* R=NULL;
  1255. R=(C)->_to_string;
  1256. return R;
  1257. }
  1258. void rT157copy(T157 *C,T0 * a1){
  1259. /*IF*//*AF*//*AE*/
  1260. memcpy(C,a1,s[C->id]);
  1261. /*FI*/}
  1262. void rT157make(T157 *C,T0* a1,T0 * a2){
  1263. C->_to_string=a1;
  1264. C->_start_position=a2;
  1265. }
  1266. void rT43warning(T43 *C,T0* a1){
  1267. rT43append(a1);
  1268. rT43print_as_warning(C);
  1269. }
  1270. void rT43die_with_code(T43 *C,int a1){
  1271. exit(a1);
  1272. }
  1273. void rT43fatal_error(T43 *C,T0* a1){
  1274. rT7append((T7*)oRBC43explanation,a1);
  1275. rT43print_as_fatal_error(C);
  1276. rT43crash(C);
  1277. }
  1278. void rT43error(T43 *C,T0* a1){
  1279. rT43append(a1);
  1280. rT43print_as_error(C);
  1281. }
  1282. void rT43incr_nb_errors(T43 *C){
  1283. C->_nb_errors=((C)->_nb_errors)+(1);
  1284. /*IF*/if (((C)->_nb_errors)>=(10)) {
  1285. rT33put_string((T33*)oRBC1std_error,(T0 *)ms434);
  1286. rT33put_integer((T33*)oRBC1std_error,10);
  1287. rT33put_string((T33*)oRBC1std_error,(T0 *)ms435);
  1288. rT43die_with_code(C,1);
  1289. }
  1290. /*FI*/}
  1291. void rT43incr_nb_warnings(T43 *C){
  1292. C->_nb_warnings=((C)->_nb_warnings)+(1);
  1293. }
  1294. void rT43print_as_warning(T43 *C){
  1295. rT43do_print((T0 *)ms80);
  1296. rT43incr_nb_warnings(C);
  1297. }
  1298. void rT43print_as_fatal_error(T43 *C){
  1299. rT43do_print((T0 *)ms46);
  1300. rT43die_with_code(C,1);
  1301. }
  1302. void rT43print_as_error(T43 *C){
  1303. rT43do_print((T0 *)ms433);
  1304. rT43incr_nb_errors(C);
  1305. }
  1306. int ofBC43positions=0;
  1307. T0*oRBC43positions;
  1308. T0* rT43positions(/*C*/void){
  1309. T0* R=NULL;
  1310. if (ofBC43positions==0){
  1311. ofBC43positions=1;
  1312. {T45 *n=((T45*)new(45));
  1313. rT45make(n,1,5);
  1314. R=(T0 *)n;}
  1315. rT45clear((T45*)R);
  1316. oRBC43positions=R;}
  1317. return oRBC43positions;}
  1318. T0*oRBC1std_error;
  1319. void rT43crash(T43 *C){
  1320. rsp();
  1321. rT43die_with_code(C,1);
  1322. }
  1323. void rT43do_print(/*C*/T0* a1){
  1324. char _previous_cc='\0';
  1325. char _cc='\0';
  1326. int _cpt=0;
  1327. int _i=0;
  1328. rT33put_string((T33*)oRBC1std_error,(T0 *)ms38);
  1329. rT33put_string((T33*)oRBC1std_error,a1);
  1330. rT33put_string((T33*)oRBC1std_error,(T0 *)ms39);
  1331. _i=1;
  1332. _cpt=(9)+(((T7*)a1)->_count);
  1333. while (!((_i)>(((T7*)oRBC43explanation)->_count))) {
  1334. _previous_cc=_cc;
  1335. _cc=rT7item((T7*)oRBC43explanation,_i);
  1336. _i=(_i)+(1);
  1337. /*IF*/if ((_cpt)>(60)) {
  1338. /*IF*/if ((_cc)==('\40')) {
  1339. rT33put_character((T33*)oRBC1std_error,'\12');
  1340. _cpt=0;
  1341. }
  1342.  else if (((_previous_cc)==('\54'))||((_previous_cc)==('\57'))) {
  1343. rT33put_character((T33*)oRBC1std_error,'\12');
  1344. rT33put_character((T33*)oRBC1std_error,_cc);
  1345. _cpt=1;
  1346. }
  1347. else {
  1348. rT33put_character((T33*)oRBC1std_error,_cc);
  1349. _cpt=(_cpt)+(1);
  1350. }
  1351. /*FI*/}
  1352. else {
  1353. rT33put_character((T33*)oRBC1std_error,_cc);
  1354. _cpt=(_cpt)+(1);
  1355. }
  1356. /*FI*/}
  1357. rT33put_character((T33*)oRBC1std_error,'\12');
  1358. _i=((T45*)rT43positions())->_lower;
  1359. while (!((_i)>(((T45*)rT43positions())->_upper))) {
  1360. rT44show((T44*)rT45item((T45*)rT43positions(),_i));
  1361. _i=(_i)+(1);
  1362. }
  1363. /*(IRF3*//*(IRF3*/(((T7*)oRBC43explanation)->_count)=(0);
  1364. /*)*/rT45clear((T45*)rT43positions());
  1365. /*)*/rT33put_string((T33*)oRBC1std_error,(T0 *)ms432);
  1366. }
  1367. void rT43append(/*C*/T0* a1){
  1368. rT7append((T7*)oRBC43explanation,a1);
  1369. }
  1370. void rT43add_position(/*C*/T0 * a1){
  1371. /*IF*/if (((int)a1)) {
  1372. /*IF*/if (!(rT45has((T45*)rT43positions(),a1))) {
  1373. rT45add_last((T45*)rT43positions(),a1);
  1374. }
  1375. /*FI*/}
  1376. /*FI*/}
  1377. T0*oRBC43explanation;
  1378.